// pages/home/home.js
const app = getApp()
const common = require('../../utils/common.js')
const auth = require('../../utils/auth.js')

Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 联系表单
    showContactForm: false,
    contactTargetId: '',
    contactTargetType: '',
    
    // 轮播图数据
    banners: [
      {
        id: 1,
        image: 'https://images.unsplash.com/photo-1625246333195-78d9c38ad449?w=800&h=400&fit=crop&q=90',
        title: '壹加壹农业服务平台',
        desc: '连接农业资源，助力乡村振兴',
        btnText: '了解平台',
        action: 'platform-intro'
      },
      {
        id: 2,
        image: 'https://images.unsplash.com/photo-1574943320219-553eb213f72d?w=800&h=400&fit=crop&q=90',
        title: '关于壹加壹',
        desc: '10年农业服务经验，值得信赖',
        btnText: '了解我们',
        action: 'company-intro'
      },
      {
        id: 3,
        image: 'https://images.unsplash.com/photo-1560493676-04071c5f467b?w=800&h=400&fit=crop&q=90',
        title: '7大核心服务',
        desc: '一站式解决农业经营难题',
        btnText: '查看服务',
        action: 'service-intro'
      }
    ],
    
    // 服务中心数据
    services: [
      { name: '办公场地', icon: 'building-o', bgClass: 'bg-emerald', iconClass: 'icon-primary' },
      { name: '金融贷款', icon: 'money', bgClass: 'bg-blue', iconClass: 'icon-secondary' },
      { name: '劳务派遣', icon: 'users', bgClass: 'bg-purple', iconClass: 'icon-purple' },
      { name: '物流代办', icon: 'truck', bgClass: 'bg-orange', iconClass: 'icon-accent' },
      { name: '集采代购', icon: 'shopping-basket', bgClass: 'bg-pink', iconClass: 'icon-pink' },
      { name: '农产代销', icon: 'leaf', bgClass: 'bg-green', iconClass: 'icon-green' },
      { name: '农机服务', icon: 'cogs', bgClass: 'bg-indigo', iconClass: 'icon-indigo' },
      { name: '更多', icon: 'th', bgClass: 'bg-gray', iconClass: 'icon-gray' }
    ],
    
    // 热门服务数据
    hotServices: [
      {
        id: 1,
        image: 'https://images.unsplash.com/photo-1625246333195-78d9c38ad449?w=120&h=120&fit=crop',
        title: '专业农机服务 - 耕地播种一站式',
        desc: '提供专业农机服务，包括耕地、播种、收割等全流程服务，设备先进，经验丰富',
        price: '200/亩起',
        tag: '农机服务',
        tagClass: 'tag-primary',
        user: '张**',
        phone: '138****5678',
        time: '2小时前',
        views: '1.2k'
      },
      {
        id: 2,
        image: 'https://images.unsplash.com/photo-1574943320219-553eb213f72d?w=120&h=120&fit=crop',
        title: '现代化办公场地出租',
        desc: '位于城市中心，交通便利，配套完善，适合各类农业企业办公使用',
        price: '3000/月起',
        tag: '办公场地',
        tagClass: 'tag-secondary',
        user: '李**',
        phone: '159****8765',
        time: '5小时前',
        views: '856'
      },
      {
        id: 3,
        image: 'https://images.unsplash.com/photo-1579621970563-ebec7560ff3e?w=120&h=120&fit=crop',
        title: '农业金融贷款服务',
        desc: '专注农业领域的金融服务，利率优惠，审批快速，助力农业发展',
        price: '最高500万',
        tag: '金融贷款',
        tagClass: 'tag-accent',
        user: '王**',
        phone: '186****2345',
        time: '1天前',
        views: '2.1k'
      }
    ],
    
    // 热门需求数据
    hotDemands: [
      {
        id: 1,
        title: '急需100亩有机蔬菜种植地',
        desc: '寻找适合有机蔬菜种植的土地，要求土壤肥沃，灌溉条件良好，交通便利',
        tag: '种植合作',
        tagClass: 'tag-primary',
        topBarClass: 'bar-primary',
        location: '浙江杭州',
        budget: '20万',
        user: '陈**',
        phone: '188****1234',
        time: '2小时前',
        views: '328'
      },
      {
        id: 2,
        title: '寻找大型收割机服务',
        desc: '需要专业的收割机团队，约200亩水稻收割，要求设备先进，经验丰富',
        tag: '农机租赁',
        tagClass: 'tag-secondary',
        topBarClass: 'bar-secondary',
        location: '江苏南京',
        budget: '5万',
        user: '黄**',
        phone: '139****5678',
        time: '5小时前',
        views: '456'
      }
    ],
    
    // 通知公告数据
    announcements: [
      {
        id: 1,
        type: 'policy',
        typeText: '政策',
        title: '2024年农业补贴政策发布',
        content: '最新农业补贴政策已出台，符合条件的企业可申请...',
        time: '今天 14:30',
        views: '1.2k',
        dotClass: 'dot-primary',
        tagClass: 'tag-primary'
      },
      {
        id: 2,
        type: 'activity',
        typeText: '活动',
        title: '新用户注册福利活动',
        content: '新用户注册即送服务优惠券，快来领取...',
        time: '昨天 10:15',
        views: '856',
        dotClass: 'dot-accent',
        tagClass: 'tag-accent'
      }
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('首页加载')
    this.loadData()
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 页面显示时刷新数据
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      this.getTabBar().setData({
        selected: 0
      })
    }
  },

  /**
   * 加载数据（预留接口调用位置）
   */
  loadData() {
    // TODO: 调用API接口获取首页数据
    // 示例：
    // common.showLoading('加载中...')
    // wx.request({
    //   url: app.globalData.apiBaseUrl + '/api/home/data',
    //   method: 'GET',
    //   success: (res) => {
    //     if (res.data.code === 200) {
    //       this.setData({
    //         banners: res.data.data.banners,
    //         hotServices: res.data.data.services,
    //         hotDemands: res.data.data.demands,
    //         announcements: res.data.data.announcements
    //       })
    //     }
    //   },
    //   fail: (err) => {
    //     common.showToast('加载失败', 'error')
    //     console.error('加载数据失败:', err)
    //   },
    //   complete: () => {
    //     common.hideLoading()
    //   }
    // })
    
    console.log('数据加载完成（静态数据）')
  },

  /**
   * 搜索
   */
  onSearch(e) {
    const keyword = e.detail.value
    if (!keyword.trim()) {
      common.showToast('请输入搜索关键词', 'none')
      return
    }
    console.log('搜索关键词:', keyword)
    // TODO: 实现搜索功能
    common.showToast('搜索功能开发中...', 'none')
  },

  /**
   * 跳转到消息中心
   */
  goToMessages() {
    common.navigateTo('/pages/messages/messages')
  },

  /**
   * 轮播图点击
   */
  onBannerClick(e) {
    const index = e.currentTarget.dataset.index
    const banner = this.data.banners[index]
    console.log('点击轮播图:', index, banner)
    
    if (banner.action === 'platform-intro') {
      // 跳转到平台介绍页面
      common.navigateTo('/pages/platform-intro/platform-intro')
    } else if (banner.action === 'company-intro') {
      // 跳转到公司介绍页面
      common.navigateTo('/pages/company-intro/company-intro')
    } else if (banner.action === 'service-intro') {
      // 跳转到服务介绍页面
      common.navigateTo('/pages/service-intro/service-intro')
    } else {
      common.showToast('功能开发中...', 'none')
    }
  },

  /**
   * 服务项点击
   */
  onServiceClick(e) {
    const name = e.currentTarget.dataset.name
    console.log('点击服务:', name)
    
    // 保存服务数据到缓存
    const serviceData = app.globalData.serviceData[name]
    if (serviceData) {
      common.setStorage('currentService', serviceData)
      common.navigateTo('/pages/service-center-detail/service-center-detail')
    }
  },

  /**
   * 跳转到发布需求
   */
  goToPublishDemand() {
    wx.navigateTo({
      url: '/pages/publish-demand/publish-demand',
      fail: (err) => {
        console.error('跳转失败:', err)
        common.showToast('页面跳转失败', 'error')
      }
    })
  },

  /**
   * 跳转到发布服务
   */
  goToPublishService() {
    wx.navigateTo({
      url: '/pages/publish-service/publish-service',
      fail: (err) => {
        console.error('跳转失败:', err)
        common.showToast('页面跳转失败', 'error')
      }
    })
  },

  /**
   * 跳转到服务市场
   */
  goToService() {
    wx.switchTab({
      url: '/pages/service/service'
    })
  },

  /**
   * 跳转到需求大厅
   */
  goToDemand() {
    wx.switchTab({
      url: '/pages/demand/demand'
    })
  },

  /**
   * 跳转到服务详情
   */
  goToServiceDetail(e) {
    const id = e.currentTarget.dataset.id
    common.navigateTo(`/pages/service-detail/service-detail?id=${id}`)
  },

  /**
   * 跳转到需求详情
   */
  goToDemandDetail(e) {
    const id = e.currentTarget.dataset.id
    common.navigateTo(`/pages/demand-detail/demand-detail?id=${id}`)
  },

  /**
   * 联系服务商
   */
  async onContactService(e) {
    const id = e.currentTarget.dataset.id
    console.log('联系服务商:', id)
    
    // 检查是否登录
    const isLogin = await auth.requireLogin(() => {
      // 登录成功后显示表单
      this.setData({
        showContactForm: true,
        contactTargetId: id,
        contactTargetType: 'service'
      })
    })
    
    // 如果已经登录，直接显示表单
    if (isLogin) {
      this.setData({
        showContactForm: true,
        contactTargetId: id,
        contactTargetType: 'service'
      })
    }
  },

  /**
   * 联系需求方
   */
  async onContactDemand(e) {
    const id = e.currentTarget.dataset.id
    console.log('联系需求方:', id)
    
    // 检查是否登录
    const isLogin = await auth.requireLogin(() => {
      // 登录成功后显示表单
      this.setData({
        showContactForm: true,
        contactTargetId: id,
        contactTargetType: 'demand'
      })
    })
    
    // 如果已经登录，直接显示表单
    if (isLogin) {
      this.setData({
        showContactForm: true,
        contactTargetId: id,
        contactTargetType: 'demand'
      })
    }
  },

  /**
   * 隐藏联系表单
   */
  hideContactForm() {
    this.setData({
      showContactForm: false
    })
  },

  /**
   * 联系表单提交成功
   */
  onContactSuccess(e) {
    console.log('联系表单提交成功:', e.detail)
    wx.showToast({
      title: '提交成功',
      icon: 'success'
    })
  },

  /**
   * 跳转到通知公告列表
   */
  goToAnnouncement() {
    common.navigateTo('/pages/announcement/announcement')
  },

  /**
   * 跳转到通知公告详情
   */
  goToAnnouncementDetail(e) {
    const id = e.currentTarget.dataset.id
    const announcement = this.data.announcements.find(item => item.id === id)
    if (announcement) {
      common.setStorage('currentAnnouncement', announcement)
      common.navigateTo('/pages/announcement-detail/announcement-detail')
    }
  },

  /**
   * 下拉刷新
   */
  onPullDownRefresh() {
    console.log('下拉刷新')
    this.loadData()
    setTimeout(() => {
      wx.stopPullDownRefresh()
    }, 1000)
  },

  /**
   * 分享
   */
  onShareAppMessage() {
    return {
      title: '壹加壹农业服务平台',
      path: '/pages/home/home',
      imageUrl: '/images/share.jpg'
    }
  },

  /**
   * 分享到朋友圈
   */
  onShareTimeline() {
    return {
      title: '壹加壹农业服务平台',
      query: '',
      imageUrl: '/images/share.jpg'
    }
  }
})

